package com.demo.java.OD151_200.OD191;

import java.util.Scanner;
import java.util.TreeSet;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【分班，找出同班小朋友】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145884990
 */
public class OdMain {
    public static void main(String[] args) {
        try (Scanner s = new Scanner(System.in)) {
            String line = s.nextLine();  // 读取输入的第一行
            solveMethod(line);  // 调用方法处理输入
        }
    }

    // 处理输入并分类分组
    private static void solveMethod(String line) {
        String[] stus = line.split(" ");  // 根据空格分割输入的每个小朋友信息
        TreeSet<Integer> class1 = new TreeSet<>();  // 用来存储班级 1 的编号
        TreeSet<Integer> class2 = new TreeSet<>();  // 用来存储班级 2 的编号

        boolean isClass1 = true;  // 标记当前小朋友属于班级 1 还是班级 2
        for (int i = 0; i < stus.length; ++i) {
            String[] split = stus[i].split("/");  // 分割每个小朋友的编号和标志
            String id = split[0];  // 小朋友的编号
            String same = split[1];  // 小朋友是否同班标志

            if (i == 0) {
                class1.add(Integer.parseInt(id));  // 第一个小朋友默认为班级 1
                continue;
            }

            if ("N".equals(same)) {
                isClass1 = !isClass1;  // 如果标志为 N，切换班级
            }
            // 将当前小朋友添加到相应的班级
            (isClass1 ? class1 : class2).add(Integer.parseInt(id));
        }

        StringBuilder sb = new StringBuilder();
        for (Integer id : class1) sb.append(id).append(" ");  // 输出班级 1 的编号
        sb.append("\n");

        if (class2.size() > 0) {
            for (Integer id : class2) sb.append(id).append(" ");  // 输出班级 2 的编号
            sb.append("\n");
        }

        System.out.print(sb.toString());  // 打印最终的结果
    }
}